HLS Salesforce Data Cloud System API - Implementation Template
Setup guide
The pre-requisites setup instructions provides detailed information about configuring Salesforce Data Cloud.
Importing Templates into Anypoint Studio
- In Studio, click the Exchange X icon in the upper left of the taskbar.
- Log in with your Anypoint Platform credentials.
- Search for the template.
- Click Open.
Running Templates in Anypoint Studio
After you import your template into Studio, follow these configuration steps to run it:
Common Configuration
mule.env- sets the environment where the application is to be deployed. It should be configured inconfig-<mule.env>.yamlfile. For a studio deployment, the recommended mule.env value islocal.mule.key- sets the encryption password to be used for encrypting secure properties. Update as needed.api.autoDiscoveryIDshould be configured inconfig-<mule.env>.yamlfile.
HTTPS Configuration
https.host— sets the service host interface. It should be configured inconfig-<mule.env>.yamlfile. (Defaults to 0.0.0.0 for all interfaces)https.port— sets the service port number. It should be configured inconfig-<mule.env>.yamlfile. (Default 8082)- TLS Configuration - Keystore properties are setup in Common core library used in the project. Reference can be found by downloading the Accelerator Common Resources asset. For customization, refer to instructions available in the Getting started with MuleSoft Accelerators - Additional customization guide.
Please refer to the attached link on how to generate the Keystore.
Salesforce Data Cloud Configuration
The Salesforce CDP connector supports OAuth JWT and OAuth Username Password authentication. Below configuration is required for using OAUTH JWT.
cdp.consumerKey- sets the Consumer key for the Salesforce-connected app. Refer to below Salesforce CDP connector link and navigate to the Salesforce documentation for information about generating a consumer key. It should be encrypted and configured inconfig-secured-<mule.env>.yamlfile.cdp.keystore.path- sets the Path to the keystore that signs data during authentication. It should be configured inconfig-<mule.env>.yamlfile.cdp.keystore.password— sets the Password for the keystore. It should be encrypted and configured inconfig-secured-<mule.env>.yamlfile.cdp.keystore.alias- sets the Alias of the certificate to use. It should be configured inconfig-<mule.env>.yamlfile.cdp.username- sets the username of the Salesforce user. It should be configured inconfig-<mule.env>.yamlfile.cdp.audienceUrl- sets the URL of the authorization server. It should be configured inconfig-<mule.env>.yamlfile.
Please refer to this link for configuring the Salesforce CDP connector and this link on how to secure the configuration properties.
Tested and verified
This solution was developed and tested on Anypoint Studio 7.18.1 and Mule Runtime 4.6.0.
Run it
- Right-click the template project folder.
- Hover your mouse over 'Run as'.
- Click Mule Application (configure).
- Inside the dialog, select Environment and set the variable mule.env to the appropriate value (e.g., dev or local).
- Inside the dialog, select Environment and set the variable mule.key.
- Inside the dialog, go to 'Clear Application Data' select 'always' radio button.
- Click Run.
Deployment instructions for CloudHub using provided scripts
Ensure the Maven profile CloudHub-HLS-DEV has been properly configured in your settings.xml file. Reference can be found by downloading the Accelerator Common Resources asset. Additional instructions are available in the Getting Started with MuleSoft Accelerators - Build Environment guide.
Update the config-<env>.yaml properties appropriately and then use one of the following scripts to deploy the application to CloudHub:
- packageDeploy.sh (Mac/Linux).
- packageDeploy.cmd (Windows).
Test it
- Use Advanced Rest Client or Postman to send a request over HTTPS. The template includes a postman collection in the
src/test/resourcesfolder. Update the collection variable(s) after successful import.